package cn.funeralobjects.common.jpa.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.NoRepositoryBean;

import java.util.List;

/**
 * @author FuneralObjects
 * Create date: 2019-06-18 10:11
 */
@NoRepositoryBean
public interface BaseStatusJpaRepository<T, ID> extends JpaRepository<T, ID> {

    /**
     * 批量保存
     *
     * @param entities 实体集合
     * @return 保存结果
     */
    List<T> batchSaveAll(Iterable<T> entities);

    /**
     * 批量更新
     *
     * @param entities 实体集合
     * @return 更新结果
     */
    List<T> batchUpdateAll(Iterable<T> entities);

    /**
     * 禁用对象
     *
     * @param id 对象ID
     */
    void disable(ID id);

    /**
     * 启用对象
     *
     * @param id 对象ID
     */
    void enable(ID id);
}
